from loguru import logger
import sys

class DefaultLog:
      def __init__(self):
          # 移除所有已有的处理器
          logger.remove()
          # 自定义日志格式
          logger.add(".\logs\log_{time:YYYY-MM-DD}.log", format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | "
                                                                 "<level>{level: <8}</level> | "
                                                                 "<cyan>{name}</cyan>:"
                                                                 "<cyan>{function}</cyan>:"
                                                                 "<cyan>{line}</cyan> - "
                                                                 "<white>{message}</white>",
                     level="DEBUG",  # 设置最低日志级别
                     rotation="1 day",  # 每天创建一个新的日志文件
                     retention="10 days",  # 只保留最近10天的日志
                     enqueue=True,  # 异步记录日志
                     encoding="utf8"  # 文件编码
                     )

          # 添加另一个处理器，将日志输出到控制台
          logger.add(
              sys.stderr,  # 使用标准错误流
              format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <white>{message}</white>",
              level="DEBUG",  # 设置最低日志级别
              colorize=True  # 启用颜色化输出
          )
          self.logger = logger

      def getLogger(self):
          return self.logger